using System;
using System.Text.Json.Serialization;
using UwinEducation.Shared.Converters;
using UwinEducation.Shared.Enums;

namespace UwinEducation.Shared.Models
{
    /// <summary>
    /// 订单支付分页请求参数
    /// </summary>
    public class OrderPaymentPageRequest : PageRequest
    {
        /// <summary>
        /// 订单ID (可选筛选条件)
        /// </summary>
        public Guid? OrderId { get; set; }

        /// <summary>
        /// 支付方式 (可选筛选条件)
        /// </summary>
        public PaymentMethod? PaymentMethod { get; set; }
        /// <summary>
        /// 审核状态 (可选筛选条件)
        /// </summary>
        public AuditStatus? AuditStatus { get; set; }
        /// <summary>
        /// 支付开始日期 (可选筛选条件)
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? StartDate { get; set; }

        /// <summary>
        /// 支付结束日期 (可选筛选条件)
        /// </summary>
        [JsonConverter(typeof(CustomDateTimeConverter))]
        public DateTime? EndDate { get; set; }

        /// <summary>
        /// 搜索关键词 (用于订单号、凭证号或备注)
        /// </summary>
        public string SearchTerm { get; set; }
    }
} 